#ifndef SHOOTER_SUBSYSTEM_H
#define SHOOTER_SUBSYSTEM_H

#include "WPILib.h"
#include "RobotSubsystem.h"
#include "OperatorButton.h"


class FrcShooterSubsystem : public RobotSubsystem
{
public:
	FrcShooterSubsystem();
	virtual ~FrcShooterSubsystem();
	virtual void DoRobotInit(void);
	virtual void DoTeleopInit(void);
	virtual void DoDisabledInit(void);
	virtual void DoTeleopPeriodic(void);
	virtual void DoDisabledPeriodic(void);
	

	
private:
	void ShooterControl();
	void ManualControl();
	bool manual;
	enum ShooterState
	{
		kLoad,    
		kLoaded,
		kFire,
		kReset,
		kHolding
	};
	ShooterState m_shooterState;
	Talon *m_shooterMotor;
	Joystick *m_rightJoystick;
	OperatorButton *m_fireButton;
	OperatorButton *m_overrideButton;
	OperatorButton *m_manualBackwardShooterButton;
	OperatorButton *m_manualForwardShooterButton;
	OperatorButton *m_resetButton;
	Encoder        *m_shooterEncoder;
	Timer			*m_shooterTimer;
	bool 			m_is15Reached;
	bool 			m_is30Reached;
	bool 			m_is45Reached;
};

#endif
